﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Web;

namespace RTracker.Areas.Recruitment.Models.CandidateDrive
{

    /// <summary>
    /// Class for CandidateDrive, used to get and set values of CandidateDrive properties.
    /// </summary>
    public class CCandidateDrive
    {
        Int64 m_lCandidateDriveId;
        int m_nOrganizationId;
        String m_strCandidateDriveDesc;
        int m_nCandidate;
        int m_nVacancy;
        int m_nDepartment;
        DateTime? m_dtStartDate;
        int m_nStatus;
        DateTime? m_dtEndDate;
        String m_strRounds;
        Boolean m_bIsSoftLocked;
        int m_nSoftLockedBy;
        DateTime? m_dtSoftLockTimestamp;
        Boolean m_bIsHardLocked;
        int m_nHardLockedBy;
        DateTime? m_dtHardLockTimestamp;
        DateTime? m_dtCreateTimestamp;
        int m_nCreatedBy;
        DateTime? m_dtModifiedTimestamp;
        int m_nModifiedBy;
        Boolean m_bDeleteFlag;
        String m_strCandidateDriveIds;
        int m_nPageNumber;
        int m_nRowSize;
        String m_strSortOn;
        String m_strSortType;
        String m_strSearch;
        String m_strSearchOn;
        Boolean m_bCondition;
        int m_nPasswordChangePurpose;
        string m_strSoftlockedByName;
        string m_strHardlockedByName;
        string m_strCreatedByName;
        string m_strModifiedByName;

        /// <summary>
        /// Constructor of the class.
        /// </summary> 
        /// <date_created>7/1/2014</date_created>
        public CCandidateDrive()
        {
            m_lCandidateDriveId = 0;
            m_nOrganizationId = 0;
            m_strCandidateDriveDesc = "";
            m_nCandidate = 0;
            m_nVacancy = 0;
            m_nDepartment = 0;
            m_dtStartDate = null;
            m_nStatus = 0;
            m_dtEndDate = null;
            m_strRounds = "";
            m_bIsSoftLocked = false;
            m_nSoftLockedBy = 0;
            m_dtSoftLockTimestamp = null;
            m_bIsHardLocked = false;
            m_nHardLockedBy = 0;
            m_dtHardLockTimestamp = null;
            m_dtCreateTimestamp = null;
            m_nCreatedBy = 0;
            m_dtModifiedTimestamp = null;
            m_nModifiedBy = 0;
            m_bDeleteFlag = false;
            m_strCandidateDriveIds = "";
            m_nPageNumber = 0;
            m_nRowSize = 0;
            m_strSortOn = "";
            m_strSortType = "";
            m_strSearch = "";
            m_strSearchOn = "";
            m_bCondition = false;
            m_nPasswordChangePurpose = 0;
            m_strHardlockedByName = "";
            m_strSoftlockedByName = "";
            m_strCreatedByName = "";
            m_strModifiedByName = "";
        }

        /// <summary>
        /// Constructor of the class.
        /// </summary> 
        /// <date_created>7/1/2014</date_created>
        public CCandidateDrive(Int64 lCandidateDriveId, int nOrganizationId, String strCandidateDriveDesc, int nCandidate, int nVacancy, int nDepartment
            , DateTime? dtStartDate, int nStatus, DateTime? dtEndDate, String strRounds, Boolean bIsSoftLocked
            , int nSoftLockedBy, DateTime? dtSoftLockTimestamp, Boolean bIsHardLocked, int nHardLockedBy, DateTime? dtHardLockTimestamp
            , DateTime? dtCreateTimestamp, int nCreatedBy, DateTime? dtModifiedTimestamp, int nModifiedBy, Boolean bDeleteFlag, int nPageNumber, int nRowSize
            , String strSortOn, String strSortType, String strSearch, String strSearchOn, Boolean bCondition, int nPasswordChangePurpose,
            string strSoftlockedByName, string strHardlockedByName, string strCreatedByName, string strModifiedByName, String strCandidateDriveIds)
        {
            m_lCandidateDriveId = lCandidateDriveId;
            m_nOrganizationId = nOrganizationId;
            m_strCandidateDriveDesc = strCandidateDriveDesc;
            m_nCandidate = nCandidate;
            m_nVacancy = nVacancy;
            m_nDepartment = nDepartment;
            m_dtStartDate = dtStartDate;
            m_nStatus = nStatus;
            m_dtEndDate = dtEndDate;
            m_strRounds = strRounds;
            m_bIsSoftLocked = bIsSoftLocked;
            m_nSoftLockedBy = nSoftLockedBy;
            m_dtSoftLockTimestamp = dtSoftLockTimestamp;
            m_bIsHardLocked = bIsHardLocked;
            m_nHardLockedBy = nHardLockedBy;
            m_dtHardLockTimestamp = dtHardLockTimestamp;
            m_dtCreateTimestamp = dtCreateTimestamp;
            m_nCreatedBy = nCreatedBy;
            m_dtModifiedTimestamp = dtModifiedTimestamp;
            m_nModifiedBy = nModifiedBy;
            m_bDeleteFlag = bDeleteFlag;
            m_strCandidateDriveIds = strCandidateDriveIds;
            m_nPageNumber = nPageNumber;
            m_nRowSize = nRowSize;
            m_strSortOn = strSortOn;
            m_strSortType = strSortType;
            m_strSearch = strSearch;
            m_strSearchOn = strSearchOn;
            m_bCondition = bCondition;
            m_nPasswordChangePurpose = nPasswordChangePurpose;
            m_strSoftlockedByName = strSoftlockedByName;
            m_strHardlockedByName = strHardlockedByName;
            m_strCreatedByName = strCreatedByName;
            m_strModifiedByName = strModifiedByName;
        }

        /// <summary>
        /// Used to store CandidateDriveId
        /// </summary>
        public Int64 CandidateDriveId
        {
            get { return m_lCandidateDriveId; }
            set { m_lCandidateDriveId = value; }
        }
        /// <summary>
        /// Used to store OrganizationId
        /// </summary>
        public int OrganizationId
        {
            get { return m_nOrganizationId; }
            set { m_nOrganizationId = value; }
        }
        /// <summary>
        /// Used to store CandidateDriveDesc
        /// </summary>
        public String CandidateDriveDesc
        {
            get { return m_strCandidateDriveDesc; }
            set { m_strCandidateDriveDesc = value; }
        }
        /// <summary>
        /// Used to store Candidate
        /// </summary>
        public int Candidate
        {
            get { return m_nCandidate; }
            set { m_nCandidate = value; }
        }
        /// <summary>
        /// Used to store Vacancy
        /// </summary>
        public int Vacancy
        {
            get { return m_nVacancy; }
            set { m_nVacancy = value; }
        }
        /// <summary>
        /// Used to store Department
        /// </summary>
        public int Department
        {
            get { return m_nDepartment; }
            set { m_nDepartment = value; }
        }
        /// <summary>
        /// Used to store StartDate
        /// </summary>
        public DateTime? StartDate
        {
            get { return m_dtStartDate; }
            set { m_dtStartDate = value; }
        }
        /// <summary>
        /// Used to store Status
        /// </summary>
        public int Status
        {
            get { return m_nStatus; }
            set { m_nStatus = value; }
        }
        /// <summary>
        /// Used to store EndDate
        /// </summary>
        public DateTime? EndDate
        {
            get { return m_dtEndDate; }
            set { m_dtEndDate = value; }
        }
        /// <summary>
        /// Used to store Rounds
        /// </summary>
        public String Rounds
        {
            get { return m_strRounds; }
            set { m_strRounds = value; }
        }
        /// <summary>
        /// Used to store IsSoftLocked
        /// </summary>
        public Boolean IsSoftLocked
        {
            get { return m_bIsSoftLocked; }
            set { m_bIsSoftLocked = value; }
        }
        /// <summary>
        /// Used to store SoftLockedBy
        /// </summary>
        public int SoftLockedBy
        {
            get { return m_nSoftLockedBy; }
            set { m_nSoftLockedBy = value; }
        }
        /// <summary>
        /// Used to store SoftLockTimestamp
        /// </summary>
        public DateTime? SoftLockTimestamp
        {
            get { return m_dtSoftLockTimestamp; }
            set { m_dtSoftLockTimestamp = value; }
        }
        /// <summary>
        /// Used to store IsHardLocked
        /// </summary>
        public Boolean IsHardLocked
        {
            get { return m_bIsHardLocked; }
            set { m_bIsHardLocked = value; }
        }
        /// <summary>
        /// Used to store HardLockedBy
        /// </summary>
        public int HardLockedBy
        {
            get { return m_nHardLockedBy; }
            set { m_nHardLockedBy = value; }
        }
        /// <summary>
        /// Used to store HardLockTimestamp
        /// </summary>
        public DateTime? HardLockTimestamp
        {
            get { return m_dtHardLockTimestamp; }
            set { m_dtHardLockTimestamp = value; }
        }
        /// <summary>
        /// Used to store CreateTimestamp
        /// </summary>
        public DateTime? CreateTimestamp
        {
            get { return m_dtCreateTimestamp; }
            set { m_dtCreateTimestamp = value; }
        }
        /// <summary>
        /// Used to store CreatedBy
        /// </summary>
        public int CreatedBy
        {
            get { return m_nCreatedBy; }
            set { m_nCreatedBy = value; }
        }
        /// <summary>
        /// Used to store ModifiedTimestamp
        /// </summary>
        public DateTime? ModifiedTimestamp
        {
            get { return m_dtModifiedTimestamp; }
            set { m_dtModifiedTimestamp = value; }
        }
        /// <summary>
        /// Used to store ModifiedBy
        /// </summary>
        public int ModifiedBy
        {
            get { return m_nModifiedBy; }
            set { m_nModifiedBy = value; }
        }
        /// <summary>
        /// Used to store DeleteFlag
        /// </summary>
        public Boolean DeleteFlag
        {
            get { return m_bDeleteFlag; }
            set { m_bDeleteFlag = value; }
        }
        /// <summary>
        /// Used to store CandidateDriveIds
        /// </summary>
        public String CandidateDriveIds
        {
            get { return m_strCandidateDriveIds; }
            set { m_strCandidateDriveIds = value; }
        }
        /// <summary>
        /// Used to store PageNumber
        /// </summary>
        public int PageNumber
        {
            get { return m_nPageNumber; }
            set { m_nPageNumber = value; }
        }
        /// <summary>
        /// Used to store RowSize
        /// </summary>
        public int RowSize
        {
            get { return m_nRowSize; }
            set { m_nRowSize = value; }
        }
        /// <summary>
        /// Used to store SortOn
        /// </summary>
        public String SortOn
        {
            get { return m_strSortOn; }
            set { m_strSortOn = value; }
        }
        /// <summary>
        /// Used to store SortType
        /// </summary>
        public String SortType
        {
            get { return m_strSortType; }
            set { m_strSortType = value; }
        }
        /// <summary>
        /// Used to store Search
        /// </summary>
        public String Search
        {
            get { return m_strSearch; }
            set { m_strSearch = value; }
        }
        /// <summary>
        /// Used to store SearchOn
        /// </summary>
        public String SearchOn
        {
            get { return m_strSearchOn; }
            set { m_strSearchOn = value; }
        }


        /// <summary>
        /// Used to store Condition
        /// </summary>
        public Boolean Condition
        {
            get { return m_bCondition; }
            set { m_bCondition = value; }
        }
        /// <summary>
        /// Used to store Password Change Purpose
        /// </summary>
        public int PasswordChangePurpose
        {
            get { return m_nPasswordChangePurpose; }
            set { m_nPasswordChangePurpose = value; }
        }
        /// <summary>
        /// Used to store username who owns the softlock.
        /// </summary>
        public string SoftLockedByName
        {
            get { return m_strSoftlockedByName; }
            set { m_strSoftlockedByName = value; }
        }
        /// <summary>
        /// Used to store username who owns the hardlock.
        /// </summary>
        public string HardLockedByName
        {
            get { return m_strHardlockedByName; }
            set { m_strHardlockedByName = value; }
        }
        /// <summary>
        /// Used to store CreatedBy Name
        /// </summary>
        // Display name of this property
        [DisplayName("Created By")]
        public string CreatedByName
        {

            get { return m_strCreatedByName; }
            set { m_strCreatedByName = value; }
        }
        /// <summary>
        /// Used to store ModifiedBy Name
        /// </summary>
        // Display name of this property
        [DisplayName("Modified By")]
        public string ModifiedByName
        {

            get { return m_strModifiedByName; }
            set { m_strModifiedByName = value; }
        }
    }

}